#ifndef INC_WRITEVISITOR_H
#define INC_WRITEVISITOR_H

#include <QXmlStreamReader>

class WriteVisitor : public DiagramVisitor
{
	public:
		static const QString _tagBumlf;
		static const QString _tagBox;
		static const QString _tagLine;
		static const QString _tagPoint;
		static const QString _tagSize;
		static const QString _tagProperties;
		static const QString _tagVertices;

		WriteVisitor(QXmlStreamWriter&);

		void visit(UMLBox&);
		void visit(UMLLine&);

		static void write(QXmlStreamWriter& writer, const QPoint&);
		static void write(QXmlStreamWriter& writer, const QSize&);
		static void write(QXmlStreamWriter& writer, const BUMLSText&);

	private:
		QXmlStreamWriter& _writer;
};

#endif // INC_WRITEVISITOR_H

